iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
AI/ ML & Data

從零開始學 MLOps,一起建立一個自動化機器學習系統吧!系列 第 10

[Day 10] 建構 ML 系統的挑戰 — 擴展

  • 分享至 

  • xImage
  •  

摘要

  擴展問題指的是如何從原型轉換為完整系統時所需考慮的挑戰,涵蓋資料蒐集、預處理、訓練到部署等方面。討論時大致可分為兩個面向:再現性、復原力,其中復原力涉及的問題又可再細分為涉及系統環境或關於機器學習模型本身的議題。

擴展

定義

  在建構機器模型系統前,我們通常會先開發一個原型 (prototype),這個原型可能會是一個 notebook (e.g. ipynb),或者一個可一口氣跑完的 python script。然而,在真正進行機器學習系統開發時,問題並不是那麼單純,為了建構一個穩定的系統,資料集的規模將決定解決方案所需的工具,擴展問題指的就是這個從原型擴展為系統時所需考慮的一切問題,從資料蒐集、預處理、訓練到佈署都囊括在其中。
  換句話說,我們在討論擴展問題時,可以說我們討論的是「針對這個機器學習系統,我們應該選擇哪些工具或方法,以建設必要的基礎設施」。

問題

  主要可以分成兩類:再現性和復原力,其中再現性我們曾在 [Day 7] 建構 ML 系統的挑戰 — 再現性 討論過,因此接下來僅討論復原力的部分。

復原力 (resilience)

  就如同一般的系統,在建構機器學習系統時,也同樣需要考慮該如何維持系統的可用性。復原力指的是系統在面對異常狀況與外部干擾時,能夠維持其功能、效能,並迅速恢復的能力
  主要問題類型可以分成兩大類:涉及系統環境或關於機器學習模型本身。以下列舉一些常見的問題,但需要注意的是,資料工程師或機器學習工程師不一定需要完全掌握或有能力處理以下問題,具體情況應視情況進行合理的分工。

系統環境問題

  系統的運行環境可能會因硬體故障、網絡波動、或資源過載等原因導致異常情況發生。為了保持系統的復原力,必須考慮到以下幾個方面:

  • 高可用性的架構:設計具有容錯機制的架構,使系統即使在部分服務故障時仍然能夠運行。例如,透過集群或分散式架構分擔負載,確保單點故障不會影響整體服務。
  • 監控與告警機制:實施全面的監控系統來及時發現異常,並設置自動恢復機制,以便在發生問題時能迅速採取行動。
  • 自動擴展:為應對突發的大規模使用量,系統應能夠根據負載自動調整資源,確保性能不會受到影響。

機器學習問題

  機器學習模型本身也會面臨一系列異常情況,這些情況可能來自於數據的異常、模型性能的退化或外部攻擊。為此,機器學習系統必須具備以下能力:

  • 對抗異常數據:能夠檢測並處理異常或錯誤的數據輸入,以防止這些數據對模型預測結果的干擾,確保模型輸出的穩定性。
  • 資料漂移檢測:監控數據分佈的變化,當模型開始表現出性能退化時(例如隨著時間推移,數據分佈與訓練數據不再匹配),應能夠觸發模型更新或重新訓練。關於資料漂移,我們曾在 [Day 8] 建構 ML 系統的挑戰 — 資料漂移 進行過簡單的討論。
  • 安全性與對抗性攻擊防護:設計模型使其具備應對對抗性樣本的能力,避免被惡意輸入數據所迷惑,同時採取安全防護措施來防止模型和數據遭受攻擊。

補充

可用性

  • 資訊安全三要素:機密性、完整性、可用性
  • 定義:確保資訊資產能隨時提供使用。

參考資料


上一篇
[Day 9] 設計模式:橋接資料格式 (Bridged Schema)
下一篇
[Day 11] 問題類型:資料表示 (Data Presentation)
系列文
從零開始學 MLOps,一起建立一個自動化機器學習系統吧!12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言